parser.add_argument('args', nargs=argparse.REMAINDER)
print(parser.parse_args('--foo B cmd --arg1 XX ZZ'.split()))
Argparse: как принимать любое количество необязательных аргументов (начиная с `-` или `--`)