Meu palpite é que é a linha que contém o asterisco (" * ") no seu myfile .
Você avalia f de alguma forma e provavelmente tem problemas quando o asterisco é expandido como caractere de correspondência de padrões.
Exemplo:
#!/bin/sh
# while3b.sh
while f='line'
do
echo $f
done < ./myfile
leva a
$ ./while3b.sh
hello
howdy
gday
bonjour
guten tag
您好!
myfile myfile~ while3b.sh
Como meu diretório contém os três arquivos myfile , myfile~ e while3b.sh . Você deve examinar o código que você abreviou por "process", o que acontece quando $f é alimentado com * .