You could use following Regex for the purpose.

    [\""].+?[\""]|[^ ]+

For example,

    var commandList = Regex.Matches(baseCommand, @"[\""].+?[\""]|[^ ]+")
                    .Cast<Match>()
                    .Select(x => x.Value.Trim('"'))
                    .ToList().Skip(1);

**Sample 1 Input**

    DoSomething "second arg that has spaces" thirdArguementWithoutSpaces

Output

    Command List
    ------------
    second arg that has spaces
    thirdArguementWithoutSpaces

**Sample 2 Input**

    DoSomething "second arg that has spaces" "third Arguement With Spaces"

Output

    Command List
    ------------
    second arg that has spaces
    third Arguement With Spaces