Only for "Copy and execute" NSH scripts can you specify the staging directory. For other types of scripts it's going to use whatever the STAGING_DIR server property is set to for each server. As for updating this using the blcli (if possible depending on what type of script you have created), I don't see any commands in the NSHScriptJob namespace to do so. It may exist as an unreleased command though...
The STAGING_DIR property value is set and is set to /tmp ...
/opt/sys/blogic/br/blcli -r $Server printAllProperties $| grep STAGING_DIR
REPEATER_STAGING_DIR = /tmp/stage
STAGING_DIR = /tmp
Anything else I can look at to determine why it's not using the STAGING_DIR value?
If it's an unreleased command, could someone provide the name of the command?
What Script Type do you have selected?
Local scripts (Non-NSH script)
Since you're using the "copy and execute (non-NSH scripts)" type, you will need to specify the staging directory. For scripts of this type it will not use the property set against the server. If not set, it will try to use '/', which probably explains the "permission denied" error you're seeing. As you can see in the error message, it's trying to create the temporary script at root.
I'm unaware of any unreleased commands to set the staging directory for the job (if they exist), but to me that seems to be the issue. Does anyone out there know if this can be done?