I am having a similar problem but am not sure that the GRANT would be my issue.
Here is the command I am executing:
./impdp \"/ as sysdba\" DIRECTORY=data_pump_dir JOB_NAME=my_imp dumpfile=backup_130707.0000_full.dmp TABLE_EXISTS_ACTION=REPLACE LOGFILE=my_imp_07_10_13.log schemas=schema1,schema2
Import: Release 188.8.131.52.0 - Production on Wed Jul 10 21:29:19 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Release 184.108.40.206.0 - 64bit Production
ORA-39002: invalid operation
ORA-31694: master table "SYS"."MY_IMP" failed to load/unload
ORA-31644: unable to position to block number 21449588 in dump file "/Storage/backup_130707.0000_full.dmp"
At first I thought the backup was corrupted but after redoing the backup I am still getting the same error.