EDIT: Só percebi isso provavelmente não resolve o seu problema, uma vez que o seguinte assume que a "palavra do meio" é a segunda palavra.
Experimente este script. A entrada é lida do arquivo input.txt
while read ln; do
middle_word='awk '{print $2}' <<< "$ln"'
new="$ln $middle_word"
echo "$new"
done < input.txt
Com a entrada que você deu, isso me dá a seguinte saída:
blahblah1 word1 blahblah2 word1
blahblah1 word2 blahblah2 word2
blahblah1 word3 blahblah2 word3
Advertência: o espaço em branco principal em cada linha é perdido por algum motivo.