Acho que você perdeu um nível de citações que escapou. Nesse alto nível de escape, é melhor simplesmente fazer um pequeno script para cada estágio onde aspas seriam necessárias.
Caso contrário, você poderia tentar esta versão modificada (mas lembre-se, eu não encorajo esse estilo de codificação!)
function _remoteInstallation(){
local retval=1
local debToInstall=$(basename "$1")
local remoteMachine="$2"
spawned=$(expect -d -c "
set timeout 1800
spawn \"/usr/bin/ssh -t borrajax@$remoteMachine /usr/bin/sudo /usr/bin/dpkg -i /home/borrajax/Documents/$debToInstall\"
expect {
\"Are you sure you want to continue connecting\" { send \"yes\r\"; exp_continue }
\"password\" { send \"myPassword\r\"; exp_continue }
\"[sudo] password\" { send \"myPassword\r\"; exp_continue }
default { exit 1 }
}
" )
retval=$?
return $retval
}