ググっても、IFS変えて戻す、みたいなクソめんどくさい方法が出ることが多かったのだけど。 http://askubuntu.com/questions/344407/how-to-read-complete-line-in-for-loop-with-spaces に、なかなかいい方法があった。
どうせまた忘れて、ググる羽目になりそうだから書いとく。
スペース区切りのループと改行区切りのループ
# スペース区切り
for i in $(command) ; do command2 "$i" ; done
# 改行区切り
command | while read i ; do command2 "$i" ; done