but we still have all the other locations, symlinked there. It just makes no sense.
Because a lot of shit would break if that wasn't the case, starting with every shell script that has the typical #!/bin/sh
or #!/bin/bash
shebang.
This is what plan9 does for example. There is no need for $PATH because all binaries are in /bin anyways. And to override a binary, you simply “mount” it over the existing one in place.
Does that need elevated privileges? Because with PATH what you do is export this environment variable with the order you want, like this:
This means that my home bin directory will always be first in PATH, and for the steam example it means that I don't have to worry about having to add/change the script every time the system updates, etc.
Also what do you mean by mounting a binary over? I cannot replace the steam binary in this example. What I'm doing is using a wrapper script that launches steam on a different location instead (and also passes some flags that makes steam launch silently).