Por que o script funciona com / bin / bash, mas não com / bin / sh?

Eu estou tentando entender por que o script irá trabalhar com#!/bin/bash mas não#!/bin/sh. Eu estou correndo Cygwin e ambossh.exe ebash.exe parece ser idêntico (mesmo tamanho de arquivo).

$ cat 1.sh
#!/bin/sh
while read line; do
  echo ${line:0:9}
done < <(help | head -5)

$ ./1.sh
./1.sh: line 4: syntax error near unexpected token `<'
./1.sh: line 4: `done < <(help | head -5)'

$ cat 2.sh
#!/bin/bash
while read line; do
  echo ${line:0:9}
done < <(help | head -5)

$ ./2.sh
GNU bash,
These she
Type `hel
Use `info
Use `man

questionAnswers(2)

yourAnswerToTheQuestion