Fixed --list-msgs
diff --git a/pylint/config.py b/pylint/config.py
index f718bfe..ca78349 100644
--- a/pylint/config.py
+++ b/pylint/config.py
@@ -435,7 +435,16 @@
         else:
             args.append("--{0}".format(option))
 
-        copy_keys = ("action", "default", "dest", "help", "metavar", "level", "version")
+        copy_keys = (
+            "action",
+            "default",
+            "dest",
+            "help",
+            "metavar",
+            "level",
+            "version",
+            "nargs",
+        )
         kwargs = {k: definition[k] for k in copy_keys if k in definition}
 
         if "type" in definition:
diff --git a/pylint/lint.py b/pylint/lint.py
index bf7ce7e..f9097ab 100644
--- a/pylint/lint.py
+++ b/pylint/lint.py
@@ -1363,6 +1363,9 @@
             self._plugin_registry.msgs_store.help_message(msg)
             sys.exit(0)
 
+        if not self._global_config.module_or_package:
+            sys.exit(0)
+
         self.load_default_plugins()
 
         self._plugin_registry.disable("I")