You can (as suggested in the manpage) put your list into a file, rather than using positional parameters for the list:
-x files
--exclude files
Explicitly exclude the specified files, as in:
zip -r foo foo -x \*.o
which will include the contents of foo in foo.zip while exclud‐
ing all the files that end in .o. The backslash avoids the
shell filename substitution, so that the name matching is per‐
formed by zip at all directory levels.
Also possible:
zip -r foo foo -x@exclude.lst
which will include the contents of foo in foo.zip while exclud‐
ing all the files that match the patterns in the file
exclude.lst.