Issue #8 is correct, this should close it.
Issue #9 is correct, newer versions of puppet strip away ENV variables when calling exec, which is why this uses su in the first place.