Oops, allocate memory for arguments, don't set them to ""
diff --git a/flag.go b/flag.go
index 0cad6cf..353f448 100644
--- a/flag.go
+++ b/flag.go
@@ -974,7 +974,7 @@
 // The return value will be ErrHelp if -help was set but not defined.
 func (f *FlagSet) Parse(arguments []string) error {
 	f.parsed = true
-	f.args = make([]string, len(arguments))
+	f.args = make([]string, 0, len(arguments))
 	err := f.parseArgs(arguments)
 	if err != nil {
 		switch f.errorHandling {