Key exchange if forward secrecy is not an issue
No, because Bob cannot know for sure who send the public key in the first place. So impersonation may still be an issue, even if man-in-the-middle attacks are not possible.

If the communication is over a channel that can only be eavesdropped by Eve (i.e. Even cannot send anything to Bob within Bob knowing it is not from Alice), then this is secure. But that's a rather strong requirement.

In general, this is solved by a Public Key Infrastructure (PKI). The most well known one is the PKI based on X509 certificates used by internet browsers, which uses certificate authorities and browser organizations as trusted third parties as well as DNS to establish trust.