O enunciado sugere que o script deve avaliar todos os parâmetros e informar os arquivos que estão ausentes:
"Utilizando a passagem de parâmetros, como você pode checar se os arquivos escolhidos para compactação existem no diretório?"
Nenhuma opção atende o enunciado; as menos incorretas interrompem a execução do script ao identificarem a primeira ausência de arquivo. Se o usuário informar dois arquivos ausentes terá que executar o script duas vezes para identificá-los. Se informar N arquivos ausentes, terá que executar o script N vezes...
Tanto a opção "A" quanto a opção "D" (as menos incorretas) geram o mesmo resultado. Afirmar que a opção "A" é correta e a opção "D" incorreta gera estranheza... Ambas interrompem a execução do script quando um arquivo não é localizado, exibindo o seu nome. O que muda é apenas a forma de verificação.
Para evitar confusões futuras, sugiro que o enunciado mude para "utilizando a passagem de parâmetros, como você pode alertar quando um dos arquivos escolhidos para compactação não existe no diretório?". Obviamente, além de alterar a redação será necessário ajustar uma das opções corretas para que se torne incorreta.
Ou então manter o enunciado e retirar de uma das opções corretas o comando que interrompe a execução na primeira ausência de arquivo...