When you have aliases, this can get tricky. On bash I don't know how to do this, but zsh is smart enough to find the executable even when you have aliases set up. For instance, I have aliased ls to ls -h --color=auto, but zsh gives me the right binary for =ls: