execve(2) does not search PATH, so `ecr alpine -- echo hi` failed with ENOENT: the old code only used PATH as an existence check and then still exec'd the bare name, which the kernel resolved relative to the working directory. Pre-dates the crate split, but bare names are the natural CLI usage so it needs to work. Programs are now resolved execvp-style: a bare name is looked up in the caller-composed PATH (empty components skipped rather than treated as the cwd), paths containing '/' are used as-is with a friendlier error than a raw ENOENT.