Yeah, I remember being surprised by two things when I first started learning about Unix implementation
* That $PATH is just an ordinary env var, that many programs use by convention
* That CWD isn't, and is in fact a first-class kernel concept. I had assumed that it was just a conventional envvar that stdlibs prepended before passing absolute paths to syscalls
I'm sure there's good reasons why the other way wouldn't work, it just amused me that I'd got it wrong in both ways
* That $PATH is just an ordinary env var, that many programs use by convention
* That CWD isn't, and is in fact a first-class kernel concept. I had assumed that it was just a conventional envvar that stdlibs prepended before passing absolute paths to syscalls
I'm sure there's good reasons why the other way wouldn't work, it just amused me that I'd got it wrong in both ways