in reply to cd?

This is the way processes work. Observe the following Bourne shell script:

: cd $* pwd

Make that into an executable script, and call it with a directory argument. You'll see from the output of pwd that the script is now in the requested subdirectory. But when the script has finished executing, run pwd yourself and you will see that you are still where you started out from.

--rjray