前提

$echo -e "foo\nbar\nbuzz" > a.txt
$echo -e "buzz\nbar\nfoo" > b.txt

うーん、-Eexit dummyがむかつく(笑 早く慣れよう。とおもったがbashの方で対応した

$ goshi -e '(for-each (lambda (x) (display (call-with-input-file x (lambda (f) (port->string f))))) *argv*)' a.txt b.txt
foo
bar
buzz
buzz
bar
foo

なんかlambdaのせいでムダにでかい気がするなあ…って、rubyのブロック(旧イテレータ)もlambdaだもんな。意味的には同じか。
open->readの流れでがもう少し短くなるのかな?