Been isolating a behaviour difference, used a couple of techniques to get traces of process activity. First off tracing bash scripts by explicitly starting them with
bash -x. For example here's some tracing of
$ bash -x xzless
+ xz='xz --format=auto'
+ version='xzless (XZ Utils) 5.0.1'
+ usage='Usage: xzless [OPTION]... [FILE]...
Another favourite tool is
truss, which does all kinds of amazing tracing. In this instance all I needed to do was to see what other commands were started using
-f to follow forked processes and
-t execve to show calls to
$ truss -f -t execve jcontrol
29211: execve("/usr/bin/bash", 0xFFBFFAB4, 0xFFBFFAC0) argc = 2