import json, os, subprocess, sys from pathlib import Path command = sys.argv[3:] environment = os.environ.copy() environment.update(json.loads(Path(sys.argv[2]).read_text())) code = subprocess.call(command, env=environment) with Path(sys.argv[1]).open('x') as output: json.dump({'command': command, 'exit_code': code}, output) sys.exit(code)