The TeX primitive \parshape
can do what you want.
\dimen0\hsize
\advance\dimen0 by -2in
\parshape=2 0pt \hsize 2in \dimen0
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna
aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex
ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore
eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue
duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod
mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem.
Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui
sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit
litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum
clarifiant sollemnes in futurum.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna
aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex
ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore
eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue
duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod
mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem.
Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui
sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit
litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum
clarifiant sollemnes in futurum.
\bye
(this is a plain tex example; if you wanted it in LaTeX just copy and paste it between \begin{document}...\end{document}
but omit \bye
)

Parshapes are documented in the TeXBook. Google found me a passage in The Advanced TeXBook which also helps. The basic usage is that \parshape
expects a number then a sequence of pairs of dimensions. Each pair of dimensions represents the indentation and width of each line. The number at the beginning is the index of the pair which should be used once the sequence of pairs is exhausted.
The first two lines of the sample set the temporary dimension \dimen0
to the default paragraph width \hsize
minus 2 inches. The \parshape
line says that the first line should be a normal line (no indentation, width \hsize
), the second should be indented by 2 in and \hsize
- 2 in wide (so it ends at the same place as above), and subsequent lines should follow the specification for the second line. Apparently the regular first line paragraph indentation comes after the parshape is applied, so you don't need to adjust the first line for that.
Notice that \parshape
applies only to the current paragraph. If you want every paragraph to be set that way, use the \everypar
token register. Replace line 3 above to read
\everypar{\parshape=2 0pt \hsize 2in \dimen0}