in reply to Re^2: mocking or trapping system calls
in thread mocking or trapping system calls

Trapping all exits from perl may indeed make your code too complex.

I like pc88mxer's idea above of controlling your test environment with a VM or chroot solution. This way you can "mock" the expected, root owned external commands as you see fit w/o touching your perl code.