Thanks for sharing. I had seen it but was thinking if there was any direct way to pass to jmp function/script as the environment variable may change in remote system or different platforms.
Anyway an example of how to do it in Python :
Python script to invoke the JMP15 exe with the full JSL script path(script_file_jmp_name) :
import os
import subprocess
os.environ['ScriptArg'] = "This is a string variable passed"
subprocess.call(["C:\Program Files\SAS\JMP\15\jmp.exe", script_file_jmp_name])
JSL :
Open Log();
myvar = Get Environment Variable("ScriptArg");
print(myvar);
quit();