O motivo é a ordem em que o shell processa as várias expansões e cotações. Se você digitar diretamente
find . -name "foo*"
O shell removerá as cotas e transmitirá foo* como parâmetro para find .
Sem as aspas, o shell executaria a globbing para o * primeiro, resultando potencialmente em várias correspondências que confundiriam find . Por isso, é aconselhável usar as aspas.
Mas se você read da string de um arquivo, a variável conterá as aspas. Agora, quando você faz
> echo $LINE
"foo*"
> echo "foo*"
foo*
> find . -name $LINE
você vê que as aspas de $LINE não serão removidas em oposição às de echo "foo*" . Isso ocorre porque o shell primeiro manipula as cotações de echo $LINE (não há nenhuma) e, em seguida, executa a substituição de variável, portanto, a linha lerá echo "foo*" , mas agora as aspas permanecem.
Portanto, o seu find procurará arquivos contendo as citações. A solução é deixar as cotações no arquivo. Não é necessário citar lá, a linha completa irá para a variável.