地味につまずいてしまったので
cat $FILE | while read hogehoge do echo $hogehoge done echo $hogehoge
この場合 ループ内の hogehoge は表示されるか ループ外のファイルは表示されない
理由は パイプで cat $file と while read hogehoge を繋いでいるがパイプで引き渡す時に今までと別のプロセスで行ってるらしくそのプロセス内の $hogehoge と 元来のこのスクリプトの $hogehoge で echo しているので後者の方は表示されないとのこと。
この場合は
for hogehoge in `cat $FILE_PATH` do echo $hogehoge done echo $hogehoge
みたいにしてあげると恐らく解消される。