"Soronként három processzt indít: egy read
-et, egy echo
-t"
Hogymi?!
A read mindenképpen shell builtin, különben nem tudná a shellben látható környezeti változó értékét változtatni.
Az echo lehet külön processz, lásd /bin/echo, de a legtöbb shellben builtin, éppen az extra processzek overheadjének elkerülése miatt. A printf szintén.
Cserébe viszont ott vannak a subshellek a pipe-oknak és a command substitution-öknek...