bash + GNU coreutils, 115109 Bytes
l=${#1}
for i in `seq 0 $l`;{
for j in `seq $((l-i))`;{
t=$(printffor 'k %.0s'in `seq 0$i`;{ $i`)printf ' ';}
echo "${t:1}${1:i:j}"
}; }
Maybe there is a shorter solution, but this is the best that came into my mind. Uniqueness of chracters does not matter here.