I imagine that when you are running the command from the shell, the shell is stripping off the quotes on "pth" and passing in the shell-processed command
svn info pth
But when you are using the API library, they are attempting to honor the command as closely as possible to the parameters you pass into the library, so when it gets executed it runs something like
svn info "pth"
In the actual SVN processor. This likely has the issue of SVN not knowing a file like "pth" and failing.
I'd try a cmd_str of svn info pth an see if I achieved the desired results. In addition, you might find that running a command in the shell of svn info \"pth\" might fail in a manner similar to your Python launch.