It works without any issues. So my issue is really that I cannot pass this a file path to work with. I've tried clearing the code and using write-host to see if it is correctly passed in and thats fine. I'm not sure where to go now.

jjmck, -Args is just an alias for -ArgumentList, and hence doesn't change anything.

S-Unit, the issue is that the var begins in-midst of an option string. That is not supported, and PowerShell does not expand the var. So, 7z will get a string of -o$arg1.
You can force PS to expand by enclosing the option string into double quotes:

Featured Post

Administration of Active Directory does not have to be hard. Too often what should be a simple task is made more difficult than it needs to be.The solution? Hyena from SystemTools Software. With ease-of-use as well as powerful importing and bulk updating capabilities.