I haven't tried your code, but the approach looks reasonable. 

I'd move the "new Random()" call before the "for" loop; creating a new one every time is just wasting time.

The string constructions at the end (with .Clone and casting to a string[]) seems a little wacky to me.  I'd just accumulate the dice roll string inside the for loop; on each loop add the current roll to the end of the string, and then tack the total on after the loop exits.

There are a bunch of "coding style" things I'd do differently, but they don't effect functionality so I'll leave them alone.

Let me know if memory size or program speed are important; for this application I assume they are not, if they are there are other things you can do to improve the code.  (Such as using StringBuilder as someone else suggested.)