※正解はコメントの中にありますので、そちらもご確認ください。
Bash に標準入力からスクリプトを読ませた場合に引数を渡す方法
何も考えずに実行すると
$ echo 'echo $1; echo $2' | bash hoge fuga
bash: hoge: No such file or directory
と、「hoge」を開こうとして失敗する。なるほど、こんな場合は普通「-」だよねぇと知ったかぶりで実行すると
$ echo 'echo $1; echo $2' | bash - hoge fuga
bash: hoge: No such file or directory
ぇぇぇ!!
そうかぁ、これでもダメなのかぁ。
正解は /dev/stdin でした。
$ echo 'echo $1; echo $2' | bash /dev/stdin hoge fuga
hoge
fuga
以上 github から curl でそのまま bash に渡そうとしてハマった記録でした。