Django 1.8 uses `argparse` instead of `optparse` for management scripts so the use `*args` is discouraged. From the docs:
Changed in Django 1.8:
Before Django 1.8, management commands were based on the optparse module, and positional arguments were passed in *args while optional arguments were passed in **options. Now that management commands use argparse for argument parsing, all arguments are passed in **options by default, unless you name your positional arguments to args (compatibility mode). You are encouraged to exclusively use **options for new commands.
But the `export_all_courses` is still reading input from `args`: https://github.com/edx/edx-platform/blob/master/cms/djangoapps/contentstore/management/commands/export_all_courses.py#L20-L23
So running the command will fail:
$ cd /edx/app/edxapp/edx-platform
$ python manage.py cms export_all_courses /tmp
Expected behavior: courses are exported to `/tmp` folder
Actual behavior: error message "manage.py export_all_courses: error: unrecognized arguments: /tmp"