The thing has at least this problem: is not passed to upload-pack when running fetch. So upload-pack, everything past it gets called either from GIT_EXEC_PATH (which usually is not set) or from builtin exec path (and that's annoying when debugging for instance index-pack).
The feature has a stable alternative ($GIT_EXEC_PATH) anyway.
Or maybe just replace the whole argv_exec_path handling with a plain setenv("GIT_EXEC_PATH", exec_path, 1)?