function parse(config) {
    assert.object(config, 'config');
    assert.optionalArrayOfString(config.argv, 'config.argv');
    assert.optionalObject(config.env, 'config.env');
    var config = shallowCopy(config);
    var argv = config.argv;
    delete config.argv;
    var env = config.env;
    delete config.env;

    var parser = new Parser(config);
    return parser.parse({argv: argv, env: env});
}
Parse argv with the given options.

@param config {Object} A merge of all the available fields from
     `dashdash.Parser` and `dashdash.Parser.parse`: options, interspersed,
     argv, env, slice.