Não suporta a substituição do processo <(…)?

Em uma máquina Centos 6, isso funciona:

bash -c 'if grep -qP --line-buffered ".+" <(tail -n 1000 -F catalina.out) ; then echo "yes"; fi'

e isso não acontece:

sh -c 'if grep -qP --line-buffered ".+" <(tail -n 1000 -F catalina.out) ; then echo "yes"; fi'

Eu recebo:

sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `if grep -qP --line-buffered ".+" <(tail -n 1000 -F catalina.out) ; then echo "yes"; fi'

Nevermind o grep e cauda. O problema é com a coisa de substituição do processo:<(...)

Alguém pode me dizer o que sh faz diferente aqui?

[EDITAR]

Obrigado pelas respostas!

O problema surgiu durante o usocapistrano&nbsp;para implantações. O padrão é usarsh&nbsp;mas eu mudei isso parabater&nbsp;agora. A razão pela qual eu não consegui fazer a tubulação normal é que ao usartail -F | grep -q --line-bufferedo grep não sairá imediatamente após uma partida. Tem que haver mais uma edição no arquivo comoecho "" >> catalina.out&nbsp;e isso não era aceitável na minha situação.