Parece que está lendo uma linha por vez, em vez de ler todo o arquivo na memória de uma só vez. Eu fiz um pequeno teste para você:
Crie um arquivo contendo 3 linhas:
$ echo -e "Line 1\nLine 2\nLine 3" >> teslines.txt
$ cat testlines.txt
Line 1
Line 2
Line 3
Crie este pequeno script:
#!/bin/bash
while read LINE; do
echo "$LINE"
sleep 2
done < testlines.txt
Execute o script e comece a adicionar novas linhas:
$ ./readlinetest.sh
Line 1
# Somewhere around here i started adding more lines to the file:
$ echo "Line 4" >> testlines.txt
$ echo "Line 5" >> testlines.txt
$ echo "Line 6" >> testlines.txt
$ echo "Line 7" >> testlines.txt
# Output continued:
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Funciona praticamente como tail -f
em algum log ao vivo.