Dieses Script hat z.B. den Namen "probe" und liegt ausführbar in /home/username/bin. In $PATH ist der Pfad natürlich drin.
Hat es auch eine Shebang?
#!/bin/bash
cd
?
Woran liegt das, dass er "cd" nicht kann?
Er kann schon 'cd' nur deine Erwartung über die Wirkung von 'cd' ist falsch.
'cd' ist kein Programm, sondern ein sogenanntes Shellbuiltin, d.h. eine Funktion der Shell selbst.
which cd
cd: shell built-in command
Was macht 'cd'? Es ändert das Verzeichnis, der _aktuellen Shell_ in der 'cd' aufgerufen wird.
Wenn du ein Shellscript aufrufst wird eine _neue Shell-Instanz_ gestartet und in dieser wird dann 'cd' ausgeführt, aber das hat keine Auswirkungen auf deine Shell die du gerade benutzt.
Wenn du Shellscripte schreiben willst, die den Zustand deiner aktuellen Shell ändern, geht das daher prinzipiell nicht über Shellscripte, sondern nur über Funktionen.