Se você estiver aberto a uma abordagem diferente, eu gostaria de propor o uso de esperar:
Crie um pequeno script de espera ex1.sh
#!/usr/bin/expect -f
set arg1 [lindex $argv 0]
spawn ssh username@$arg1
expect "password: "
send "Mypwd\r"
expect "$ "
send "sudo /sbin/iptables --flush\r"
expect "password "
send "Mypwd\r"
expect "$ "
send "exit\r"
Então você pode usá-lo no seu loop assim:
for i in $(</flushhosts); do ./ex1 $i; done
Você tem muito mais flexibilidade para esse tipo de situação.