Для меня в bash 4.1.5 вывод первой строки:
sh -c 'sh -c "echo $$ \$\$"'
4063 4064
как и ожидалось - значения разные.Также проверено на ash, sh и zsh.
Должна быть хитрая оптимизация.
Обновление:
в bash 3.2 есть и "ONESHOT »: см. Комментарий в shell.c: 1243 :
#if defined (ONESHOT)
/* Run one command, given as the argument to the -c option. Tell
parse_and_execute not to fork for a simple command. */