O script "interno" que find chama não tem acesso à variável $input2 .
Você pode fazer
find /*/"$input1"/*/logs/*/*/*/* -name '*.gz' \
-exec sh -c 'gzip -cd "$1" | grep -e "$0"' "$input2" {} \;
Isso transmite o valor de $input2 para o script interno e o disponibilizará como $0 , enquanto o argumento do nome do arquivo será $1 .
Como alternativa, apenas deixe find descompactar os arquivos e filtrar a saída de find como um todo:
find /*/"$input1"/*/logs/*/*/*/* -name '*.gz' \
-exec gzip -cd {} + | grep -e "$input2"
Como find já entra em todos os subdiretórios do diretório principal, provavelmente você pode deixar de fora alguns dos globs de nome de arquivo e usar -mindepth 4 (se o seu find suportar essa opção) e adicionar -type f para sinalizar que você está interessado apenas em arquivos regulares:
find /*/"$input1"/*/logs -mindepth 4 -type f -name '*.gz' \
-exec gzip -cd {} + | grep -e "$input2"