При вызове sh, bash переходит в режим posix после чтения файлов запуска. Подстановка процесса не распознается в режиме posix. Согласно posix, <(foo)
должен направлять ввод от файла с именем (foo)
. (Ну, то есть, согласно моему чтению стандарта. Грамматика неоднозначна во многих местах.)
EDIT: Из руководства bash :
The following list is what’s changed when ‘POSIX mode’ is in effect:
...
Process substitution is not available.