Porque, de acordo com bash(1)
, cd
aceita argumentos
cd [-L|[-P [-e]] [-@]] [dir]
Change the current directory to dir. if dir is not supplied,
...
Portanto, o diretório, na verdade, pode não estar em $1
, já que poderia ser uma opção como -L
ou outro sinalizador.
Quão ruim é isso?
$ cd -L /var/tmp
$ pwd
/var/tmp
$ cd() { builtin cd "$1"; }
$ cd -L /var/tmp
$ pwd
/home/jhqdoe
$
As coisas podem dar errado se você não chegar onde você espera usar cd "$1"
…