Perchè invece di usare exec() non utilizzi una delle tante librerie disponibili?
Ad esempio Zipper include questo metodo:
extractTo($path)Extracts the content of the zip archive to the specified location
https://packagist.org/packages/chumper/zipper