cat /tmp/file |
while read a b c d
do
{
s='expect-script server1 $b'
c='ssh $b normal-script'
echo $s $c
} < /dev/null
done
A sintaxe { command... }
permite que você aplique o redirecionamento ou a tubulação a uma sequência de comandos.
Também observarei que você não precisa de cat
no seu exemplo. Você poderia fazer isso:
while read a b c d
do
...
done < /tmp/file