renzrv, Что ж сложно у Вас так все?while read -a line ; do
printf '%s\n' "Первое поле: ${line[0]}" "Основное поле: ${line[*]:1:$[${#line[*]}-2]}" "Последнее поле: ${line[-1]}";
done
while read line ; do
mid=${line#* }
printf '%s\n' "Первое поле: ${line%% *}" "Основное поле: ${mid% *}" "Последнее поле: ${line##* }"
done
while read begin end ; do
printf '%s\n' "Первое поле: $begin" "Основное поле: ${end% *}" "Последнее поле: ${end##* }"
done
sed '
s/ /\nОсновное поле: /;
s/^/Первое поле: /;
s/\s\S*$/\nПоследнее поле:&/;
'
awk '
{
print "Первое поле:", $1;
printf "%s", "Основное поле:";
for(i=2;i<NF;i++)
printf(" %s", $i);
print "\nПоследнее поле:", $NF
}'