This will break if the executable name is available in severall paths, say „java“ is in one of severall openjre paths, but the wanted version is not available, It will then execute the wrong version despite it beeing specified.
I don‘t think this fallback path is a good way to solve it. For the rest I certainly agree that it is better. (and did know that)
edit: we also support the #!command case if you just want something from the path anyhow.