> It’s not needed. All that needed is the name of the executable file > to wrap. I don't understand. How will 'rename-file' get the location of the executable? For example: (wrap-program "wget" [...]) I guess that it will only work if you invoke 'wrap-program' from the same directory. > For the case where there are have several variables you want to set. Could you provide an example? The following works without '#:rest': (display (wrap-program "wget" '(("PATH" ":" = ("/nix/.../gawk/bin")) ("CERT_PATH" ":" suffix ("/nix/.../share/certs" "/nix/.../foo/certs"))))) #!/bin/bash export PATH="/nix/.../gawk/bin" export CERT_PATH="$CERT_PATH${CERT_PATH:+:}:/nix/.../share/certs:/nix/.../foo/certs" exec ./.wget-real