The logic is as follows: If you specify in your config file a tmpdir
ns_section ns/parameters
ns_param tmpdir /tmp
its value is taken. Otherwise, if you have set the environment variable TMPDIR, it uses its value. As a final fallback it takes the C macro "P_tmpdir", which is usually /tmp" Mac OS X sets the TMPDIR since "Mac OS X Leopard" to a private location to improve security.
In your case, if you don't care about security, set the tmpdir via environment variable (before starting the server) or via config-file. Otherwise include the obtained value from the config parameter in the list of "valid directories".
Where is this list ov valid dirs actually coming from?