Вы можете изменить свой код следующим образом:
for i in 1 2 3
do
echo "first second third" | awk -v i=$i '{print $i}'
done
Чтобы использовать переменную 'i' из оболочки.
Вы также можете просто изменить разделитель записей (RS), чтобы получить тот же результат:
echo "first second third" | awk 'BEGIN{RS=" "} {print $1}'
Но я не уверен, что это то, что вы ищете.