if toks and not n_args_max:
                     alert = f'{cmd_name} given argument(s) while none expected'
                 else:
-                    args: list[str] = []
-                    while toks and len(args) < n_args_max:
-                        toks = toks[0].split(maxsplit=1)
-                        args += [toks.pop(0)]
-                    if len(args) < n_args_min:
+                    if toks:
+                        while ' ' in toks[-1] and len(toks) < n_args_max:
+                            toks = toks[:-1] + toks[-1].split(maxsplit=1)
+                    if len(toks) < n_args_min:
                         alert = f'{cmd_name} too few arguments '\
-                                + f'(given {len(args)}, need {n_args_min})'
+                                + f'(given {len(toks)}, need {n_args_min})'
                     else:
-                        alert = cmd(*args)
+                        alert = cmd(*toks)
         else:
             alert = 'not prefixed by /'
         if alert: