shortcode – multiple instances of same parameter name in one shortcode instance

Shortcodes are intended to be used by humans, to be some kind of macro that even the most techno-phobic author can use. If you need to have arrays of attributes, or any other complex structure for which the author has to attend CS 101 in order to understand its use, your shortcode is just a fail.

If you need a shortcode with complex data, the more sane way to do it is by separating the placement and the actual data input. Create a meta box section in which users can have a nice UI in inputting the data, and use [myshortcode] in the text just as an indication where that data should be displayed.