added exec(cmd,output,input,avpenv) function for exec module

I see that it's not supported in your code.

My point was that if you define the function like you do:

    exec(command, [output], [input], [envavp])

it would be quirky to add stderr later:

    exec(command, [output], [input], [envavp], [stderr])

You see how the argument order doesn't make sense.

So, it was less of a question of whether it exists, and more of a suggestion to add it now, while you're still free to define the function in the most logical manner.