--- /dev/null
+#!/usr/bin/env python
+
+import optparse, subprocess, sys, os
+
+def parse_args():
+ parser = optparse.OptionParser(usage="%prog [options] -- args")
+ parser.add_option("--program_name",
+ action="store", dest="program_name", default=None,
+ help="The name of the executable to run")
+ parser.add_option("--dump",
+ action="store_true", dest="dump",
+ help="Print command that would be run on stdout")
+ parser.add_option("--count",
+ action="store", type="int", dest="count",
+ help="The number of arguments to rotate")
+
+ opts, args = parser.parse_args(sys.argv[1:])
+
+ opts.args = args
+ return opts
+
+def run(args, dump):
+ if dump:
+ print "".join(map(commands.mkarg, args))[1:]
+ else:
+ return subprocess.Popen(args).wait()
+
+def main():
+ opts = parse_args()
+
+ newcmdline = [opts.program_name] + opts.args[-opts.count:] + opts.args[:-opts.count]
+
+ run(newcmdline, opts.dump)
+
+if __name__ == "__main__":
+ main()
+