In the j2objc wrapper script, add the ability to process more than one source jars.
In the j2objc dead code removal script, quote the object file names when invoking ar. They may contain special shell characeters.

--
PiperOrigin-RevId: 143993977
MOS_MIGRATED_REVID=143993977
diff --git a/tools/objc/j2objc_dead_code_pruner.py b/tools/objc/j2objc_dead_code_pruner.py
index a5dac5c..a5693fb 100755
--- a/tools/objc/j2objc_dead_code_pruner.py
+++ b/tools/objc/j2objc_dead_code_pruner.py
@@ -378,8 +378,15 @@
         # Remove the unreachable objects from the archive
         unreachable_object_names = MatchObjectNamesInArchive(
             xcrunwrapper, input_archive, unreachable_object_names)
+        # We need to quote the object names because they may contains special
+        # shell characters.
+        quoted_unreachable_object_names = [
+            "'" + unreachable_object_name + "'"
+            for unreachable_object_name in unreachable_object_names]
         j2objc_cmd += '%s ar -d -s %s %s && ' % (
-            xcrunwrapper, output_archive, ' '.join(unreachable_object_names))
+            xcrunwrapper,
+            output_archive,
+            ' '.join(quoted_unreachable_object_names))
         # Update the table of content of the archive file
         j2objc_cmd += '%s ranlib %s' % (xcrunwrapper, output_archive)
     # There are no unreachable objects, we just copy over the original archive