Вопрос на самом деле не имеет большого смысла для меня, но вы, безусловно, можете сделать:
{
read line_one <&3; # Read from the input file
echo "The first line is $line_one"
read line_two -u 3; # A different method to read
echo "The second line in $line_two"
...
} 3< input file
Обратите внимание, что на самом деле нет необходимости читать с fd 3, но гораздо безопаснее, если ваши командыне читает из того же ввода, что и чтение.
Но если вы действительно «в ситуации, когда циклы приводят к ошибкам и беспорядку», у вас есть проблема, для которой это не решение.