I was having some problems getting system to work. First, check if safe mode is enabled on wherever your PHP is hosted, and if there are specific executables listed within the safe_mode_exec_dir. You may have done this already.
If safe mode is not enabled and you still have problems (which I did), try shell_exec, or exec instead. system just didn't want to work for me, but I did get shell_exec to work.
shell_exec("unzip -P password $path/$zipfile -d $path");
And try using double qoutes instead of singles in that system command, though per all documentation, it looks as if it wouldn't make a difference.
Also, perhaps you can send the stderr out to a file to see what's going on?
system( $command . " &> /tmp/error " );