Tramp is not finding `ls` from a non-standard path added to `tramp-remote-path`.
On further inspection `tramp-find-executable` is using `command -pv` which only uses a pre-defined PATH and not the PATH env variable. I think `command -v` should be used instead.
Alan