As programmers say: Strive to be lazy
vim, 38 bytes

:s/"/&lt;C-d&gt;/g
qqysW"Ypds"W@qq@qdk:%s/&lt;C-d&gt;/"/g



Try it online!

Requires the vim-surround plugin.

If the input does not contain " characters, this can be done in 19 bytes:

qqysW"Ypds"W@qq@qdk


Here, we record a recursive macro (qq ... @qq@q) that surrounds a word with quotation marks (ysW"), duplicates the line (Yp), deletes the quotation marks (ds"), and moves to the next word (W) before calling itself recursively. After it terminates, there are two extraneous lines, which are deleted with dk.

The full solution simply wraps this with :s/"/&lt;C-d&gt;/g at the beginning, which replaces existing " characters with an unprintable character, and :%s/&lt;C-d&gt;/"/g at the end, which undoes the replacement.