I found out about inline lists with the enumitem package and it works exactly how I wanted except for the fact that there is some leading spacing before each item. I tried reading through the manual and I honestly couldn't make sense of the various different spacing parameters, or if any of them have any effect. I suspect it's some edge case with the list being inline.
\documentclass{article}
\usepackage[inline]{enumitem}
\newlist{commalist}{itemize*}{1}
\setlist[commalist]{label={},itemjoin={{·}}}
\begin{document}
First Line
\begin{commalist}
\item First
\item Second
\item Third
\end{commalist}
Second Line
\end{document}
I saw this answer which gave me the idea for redefining the \item
command within the list environment, but I couldn't quite get it to work:
\documentclass{article}
\usepackage[inline]{enumitem}
\let\realitem\item
\newcommand{\mynewitem}{%
\realitem\hspace*{-\labelsep}\ignorespaces%
}
\newlist{commalist}{itemize*}{1}
\setlist[commalist]{before={\let\item\mynewitem},label={},itemjoin={{·}}}
\begin{document}
First Line
{%
\setlength\parskip{0pt}%
\begin{commalist}
\item First
\item Second
\item Third
\end{commalist}}
Second Line
\end{document}