Bash, 51 bytes
for n in $@;{ printf $n\\n%.s `seq $n`;}|shuf|sed q
Takes space-separated or newline-separated input in one argument or multiple arguments.
Validate the random frequenciesValidate the random frequencies with a more complicated test case.