R, 30 bytes
=

    (n=scan(,''))[-c(1,length(n))]

Takes input from stdin, returns each middle name as a separate string. Returns `character()` in the case of no middle name; that is, a vector of class `character` of length `0`.