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